#define       _TConsoleWrapper template <class deviceName>                               TConsoleWrapper<deviceName>
#define    int_TConsoleWrapper template <class deviceName> int                           TConsoleWrapper<deviceName>
#define   void_TConsoleWrapper template <class deviceName> void                          TConsoleWrapper<deviceName>
#define      R_TConsoleWrapper template <class deviceName> TConsoleWrapper<deviceName>&  TConsoleWrapper<deviceName>
#define string_TConsoleWrapper template <class deviceName> std::string                   TConsoleWrapper<deviceName>

//////////////////////////////////////////////////////////////////////////
_TConsoleWrapper::TConsoleWrapper():
CScreenConsole(SIZE_X_SCREEN, SIZE_Y_SCREEN), 
myHideActions(VISIBLE_ACTIONS)
{  
    SetTitle("WizardConsole of Lada");
    myIntercept.Init(this);
    Init(*this);
}
//////////////////////////////////////////////////////////////////////////
int_TConsoleWrapper::SetTitle(const char* title) { myDevice.SetTitle(title); return 0; }
int_TConsoleWrapper::GetVersionConsole()const    { return VERSON_CONSOLE; } 
string_TConsoleWrapper::GetNameConsole()const    { return NAME_VERSION;   }
//////////////////////////////////////////////////////////////////////////
void_TConsoleWrapper::UpDate() 
{  
    if( isHideActions()==VISIBLE_ACTIONS )
    {
        myDevice.PrintText(SCoord(), GetScreenShot() ); 
        myDevice.UpDate();
    }
}

void_TConsoleWrapper::HideActions()   { myHideActions=HIDE_ACTIONS;              }
void_TConsoleWrapper::VisibleActions(){ myHideActions=VISIBLE_ACTIONS; UpDate(); }
int_TConsoleWrapper::isHideActions()  { return myHideActions==HIDE_ACTIONS;      }

void_TConsoleWrapper::InputData(const std::string& content)
{
    PrintText(content); 
}